package com.xbongbong.paas.enums;

import com.xbongbong.i18n.util.I18nMessageUtil;
import com.xbongbong.paas.enums.clazz.AggsTypeClass;
import java.util.ArrayList;
import java.util.List;

/**
 * 日期类型的枚举（用于图表中心的控件）
 * @author 梁鲁江
 * @version v1.0
 * @date 2019/1/22 10:53
 * @since v1.0
 */
public enum DateTypeEnum {
    /**
     * 年月日
     */
    YEAR("yyyy", "enum.dateType.name.year"),
    YM("yyyy-MM", "enum.dateType.name.ym"),
    YMD("yyyy-MM-dd", "enum.dateType.name.ymd"),
    ;
    private String alias;
    private String name;

    DateTypeEnum(String alias, String name) {
        this.alias = alias;
        this.name = name;
    }

    public String getAlias() {
        return alias;
    }

    public String getName() {
        return I18nMessageUtil.getMessage(name);
    }
    public static List<DateTypeEnum> getAllEnum() {
        List<DateTypeEnum> list = new ArrayList<>();
        for (DateTypeEnum cache : values()) {
            list.add(cache);
        }
        return list;
    }

    public static List<AggsTypeClass> list() {
        List<AggsTypeClass> list = new ArrayList<>();
        for (DateTypeEnum cache : values()) {
            AggsTypeClass aggsTypeClass = new AggsTypeClass();
            aggsTypeClass.setAlias(cache.getAlias());
            aggsTypeClass.setName(cache.getName());
            list.add(aggsTypeClass);
        }
        return list;
    }
}
